home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tiger Disk 120
/
Tiger_Disk_120_20xx_Tiger-Crew-Disk_de_Side_C.d64
/
high score
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
13KB
|
436 lines
0 rem *********************************
1 rem * high score vers.1.86 *
2 rem * *
3 rem * klaus-dieter frohn *
4 rem * *
5 rem * falkenweg 12 *
6 rem * *
7 rem * 2200 elmshorn *
8 rem * *
9 rem *********************************
10 ifpeek(787)=0thenpoke787,1:poke45,peek(174):poke46,peek(175):clr
20 ifpeek(787)=1thenpoke787,2:load"bild h-s",8,1
30 poke 787,0
40 poke53248+21,0
50 poke51,128:poke56,128
60 v=53248:sys695:printchr$(142):a=40448:pu=peek(1020)*256+peek(1021)
70 rem neuer zeichensatz **************
71 data 102,254,254,254,000,239,239,239,000
72 data 104,000,000,000,000,239,239,239,000
73 restore
74 forn=1to2:readd:d=57344+d*8:fori=dtod+7:reade:pokei,e:nexti:nextn
90 goto1610
100 rem
101 rem *******************************
103 rem * laden des high score pegel *
104 rem *******************************
109 rem
110 open15,8,15,"i0":gosub910:cr$=chr$(13):i=1
120 open2,8,2,"0:h - s,s,r":gosub910
130 input#2,n$(i),p(i):rs=st:gosub910
140 ifr s=64then close2:return
150 if rs<>0then180
160 i=i+1:ifi=10then close2:return
170 goto130
180 print"[154]status fehler "rs:close2
190 return
200 rem
201 rem *******************************
202 rem * high score sortierung *
203 rem *******************************
209 rem
210 ifpu<p(9)thenreturn
211 ifpu>p(9)thenp(9)=pu:n$(9)=n$
212 ifpu>p(8)thenp(9)=p(8):n$(9)=n$(8):p(8)=pu:n$(8)=n$
220 ifpu>p(7)thenp(8)=p(7):n$(8)=n$(7):p(7)=pu:n$(7)=n$
230 ifpu>p(6)thenp(7)=p(6):n$(7)=n$(6):p(6)=pu:n$(6)=n$
240 ifpu>p(5)thenp(6)=p(5):n$(6)=n$(5):p(5)=pu:n$(5)=n$
250 ifpu>p(4)thenp(5)=p(4):n$(5)=n$(4):p(4)=pu:n$(4)=n$
260 ifpu>p(3)thenp(4)=p(3):n$(4)=n$(3):p(3)=pu:n$(3)=n$
270 ifpu>p(2)thenp(3)=p(2):n$(3)=n$(2):p(2)=pu:n$(2)=n$
280 ifpu>p(1)thenp(2)=p(1):n$(2)=n$(1):p(1)=pu:n$(1)=n$
290 return
300 rem
301 rem ******************************
302 rem * schreiben des high scores *
303 rem * auf diskette *
304 rem ******************************
309 rem
310 forn=0to20:print:next:print" [150] [146]"
311 print" [150] schreiben des high scores auf disk [146]"
312 print" [150] [146]"
320 forn=0to9:print:next
330 cr$=chr$(13):i=1
340 open2,8,2,"@0:h - s,s,w":gosub910
350 print#2,n$(i)","str$(p(i))cr$
360 gosub910
370 i=i+1:ifi=10then390
380 goto350
390 close2:close15:return
400 rem
401 rem ******************************
402 rem * anzeigen des high scores *
403 rem ******************************
409 rem
410 poke53280,0:poke53281,0:print"[147]":sys828,1:print"[154]";
420 fori=1to3
421 : ifp(i)< 10thenprinttab(11)p(i);:goto426
422 : ifp(i)< 100thenprinttab(10)p(i);:goto426
423 : ifp(i)< 1000thenprinttab( 9)p(i);:goto426
424 : ifp(i)<10000thenprinttab( 8)p(i);:goto426
425 : printtab(7)p(i);
426 : printtab(15)n$(i)
427 : print
428 next
429 print""
430 fori=4to9
431 : ifp(i)< 10thenprinttab(11)p(i);:goto436
432 : ifp(i)< 100thenprinttab(10)p(i);:goto436
433 : ifp(i)< 1000thenprinttab( 9)p(i);:goto436
434 : ifp(i)<10000thenprinttab( 8)p(i);:goto436
435 : printtab(7)p(i);
436 : printtab(15)n$(i)
437 : print
438 next
439 z=0:c=0
440 print"[150] bitte joy bewegen! [146]"
450 j=peek(56320)
451 if(jand4)=0thenreturn
452 if(jand8)=0thenreturn
453 if(jand1)=0thenreturn
454 if(jand2)=0thenreturn
455 if(jand16)=0thenreturn
456 c=c+1:ifc=50thenc=0:goto460
460 ifz=0thenz=1:goto470
461 ifz=1thenz=0:goto440
470 print" bitte joy bewegen! [146]"
471 goto450
500 rem
501 rem ******************************
502 rem * abfrage ob neues spiel *
503 rem ******************************
509 rem
510 poke1020,0:poke1021,0:poke2,1:poke787,0:poke2,1
520 print"[154]wollen sie ein neues spiel?"
521 print" werden?"
522 print" benutze den joystick !"
523 print"[155] joy nach oben = ja"
524 print" joy nach unten = nein"
525 print" feuerknopf = weiter"
529 sysa,10,10," ja ":z=1
530 poke56320,127
532 j=peek(56320)
533 if(jand1)=0then529
534 if(jand2)=0then540
535 if(jand16)=0then537
536 goto530
537 ifz=0thengosub550:goto595
538 ifz=1thengosub550:goto590
539 goto530
540 sysa,10,10,"nein":z=0
541 goto530
550 forn=0to20:print:next:print" [150] [146]"
551 print" [150] das programm wird geladen [146]"
552 print" [150] [146]"
553 return
590 load"c/game",8
595 load"menue",8
600 rem
601 rem *******************************
602 rem * bild und sprites ein *
608 rem *******************************
609 rem
610 print"[147]":sys828,2:b=0:n$=""
620 poke53240,12:poke53241,13:poke53242,21
630 pokev+39,9:pokev+40,7:pokev+41,11
640 pokev+23,7:pokev+29,7
650 x=33:y=112:pokev,x:pokev+2,x:pokev+4,19
660 pokev+1,y-26:pokev+3,y:pokev+5,119
670 pokev+16,7:pokev+21,7
680 gosub710
690 return
700 rem
701 rem *******************************
702 rem * geraeuschkulisse ein *
708 rem *******************************
709 rem
710 s=54272
720 forl=0to24:pokes+l,0:next
730 pokes+14,5:pokes+18,16:pokes+3,1:pokes+24,143:pokes+6,240:pokes+4,65
740 return
750 rem
751 rem *******************************
752 rem * sondergeraeusch *
758 rem *******************************
759 rem
760 forl=0to24:pokes+l,0:next
770 pokes+14,5:pokes+18,16:pokes+3,1:pokes+24,143:pokes+6,240:pokes+4,131
790 return
800 rem
801 rem *******************************
802 rem * abfragung ob loeschen *
808 rem ******************************
809 rem
810 print" [150]sollen die ersten drei mit geloescht"
811 print" werden?"
812 print" benutze den joystick !"
813 print"[155] joy nach oben = ja"
814 print" joy nach unten = nein"
815 print" feuerknopf = weiter"
820 sysa,10,10," ja ":z=1
830 poke56320,127
832 j=peek(56320)
833 if(jand1)=0then820
834 if(jand2)=0then840
835 if(jand16)=0then837
836 goto830
837 ifz=0then860
838 ifz=1then850
839 goto830
840 sysa,10,10,"nein":z=0
841 goto830
850 forn=1to3
851 : n$(n)="*":p(n)=0
852 : next
860 forn=4to9
861 : n$(n)="*":p(n)=0
862 : next
870 return
899 goto899
900 rem
901 rem ******************************
902 rem * error auf disk *
903 rem ******************************
909 rem
910 :
920 input#15,en,em$,et,es
930 :
940 if en=0then return
950 print"[150]error auf der disk";
960 printen;em$;et;es
970 close2
990 return
1000 rem
1001 rem ******************************
1002 rem * punkte in gross an *
1003 rem ******************************
1009 rem
1010 print"":ifpu< 10thensysa,18,13,pu:goto1020
1011 ifpu< 100thensysa,18, 9,pu:goto1020
1012 ifpu< 1000thensysa,18, 5,pu:goto1020
1013 ifpu<10000thensysa,18, 1,pu:goto1020
1014 pu$=str$(pu):pu$=right$(pu$,5):sysa,18,1,pu$
1020 pokes+1,2:d=0
1021 j=peek(56320)
1022 if(jand1)=0thenb=0:b$="":sysa,18,35,chr$(32)
1023 if(jand2)=0andb=1thend=0:goto1410
1024 if(jand4)=0thend=0:goto1110
1025 if(jand16)=0thenb=0:pokes+24,0:d=0:goto1510
1026 d=d+1:ifd=5thend=0:pokes+1,2
1027 goto1021
1100 rem
1101 rem ******************************
1102 rem * wagen zu den buchstaben *
1108 rem ******************************
1109 rem
1110 pokes+1,3
1120 forx=33to0step-1
1130 pokev,x:pokev+2,x
1140 next
1150 pokev+16,4
1160 forx=255to245step-1
1170 :
1180 pokev,x:pokev+2,x
1190 next
1200 rem
1201 rem ******************************
1202 rem * wagen ueber den buchstaben *
1208 rem ******************************
1209 rem
1210 pokes+1,2:d=0
1211 j=peek(56320)
1212 rem if(jand1)=0then****
1213 if(jand2)=0thend=0:goto1332
1214 if(jand4)=0andx>28thend=0:gosub1322
1215 if(jand8)=0andx<252thend=0:gosub1312
1216 if(jand8)=0andx=252thend=0:goto1382
1217 d=d+1:ifd=5thend=0:pokes+1,2
1219 goto1211
1300 rem
1301 rem ******************************
1302 rem * laufroutinen *
1308 rem ******************************
1309 rem
1310 rem wagen 1 feld links ***********
1311 rem
1312 pokes+1,3
1313 forn=1to8
1314 x=x+1:pokev,x:pokev+2,x
1315 next
1316 return
1319 rem
1320 rem wagen 1 feld rechts **********
1321 rem
1322 pokes+1,3
1323 forn=1to8
1324 x=x-1:pokev,x:pokev+2,x
1325 next
1326 return
1329 rem
1330 rem korb herunter ****************
1331 rem
1332 gosub760:pokes+1,180
1333 forn=0to3
1334 fort=0to50:next
1335 poke53241,peek(53241)+1
1336 next:gosub710:pokes+1,3
1339 rem
1340 rem buchstabenberechnung *********
1341 rem
1342 :
1343 b$=chr$(int(x/8)+61)
1344 ifb$=chr$(64)thenb$=chr$(45)
1345 ifb$=chr$(91)thenb$=chr$(32)
1346 print"[159]":sysa,18,35,b$
1349 rem
1350 rem buchstabe uebernehmen ********
1351 rem
1352 d=0
1353 j=peek(56320)
1354 if(jand1)=0thend=0:goto1362
1355 if(jand16)=0thenb=1:d=0:goto1372
1356 d=d+1:ifd=5thend=0:pokes+1,2
1357 goto1353
1359 rem
1360 rem buchstabe loeschen ***********
1361 rem
1362 b$="":sysa,18,35," "
1363 gosub760:pokes+1,180
1364 forn=0to3
1365 fort=0to50:next
1366 poke53241,peek(53241)-1
1367 next:gosub710:pokes+1,3
1368 goto1210
1369 rem
1370 rem wagen zurueck zum start ******
1371 rem
1372 gosub760:pokes+1,180
1373 forn=0to3
1374 fort=0to50:next:poke53241,peek(53241)-1:next:gosub710:pokes+1,3
1375 gosub710:pokes+1,3
1376 forx=xto255
1377 pokev,x:pokev+2,x:next:pokev+16,7
1378 forx=0to33:pokev,x:pokev+2,x:next
1379 goto1020
1380 rem wagen zum start
1381 rem
1382 pokes+1,3
1383 forx=252to255
1384 pokev,x:pokev+2,x
1385 next:pokev+16,7
1386 forx=0to33
1387 pokev,x:pokev+2,x
1388 next
1389 goto1020
1400 rem
1401 rem ******************************
1402 rem * buchstabe wird uebergeben *
1408 rem ******************************
1409 rem
1410 gosub760:pokes+1,180
1411 forn=1to7
1412 poke53241,peek(53241)+1
1413 fort=0to50:next
1414 next:gosub710
1420 gosub760:pokes+1,180
1421 forn=1to7
1422 poke53241,peek(53241)-1
1423 fort=0to50:next
1424 next:gosub710
1430 gosub760:pokes+1,225
1431 forn=1to6
1432 poke53242,peek(53242)+1
1433 fort=0to50:next
1434 next:gosub710
1440 n$=n$+b$
1441 wl=len(n$)
1442 print"[150]"tab(32-wl)n$
1443 b$=""
1445 sysa,18,35,chr$(32)
1450 gosub760:pokes+1,245
1451 forn=1to6
1452 poke53242,peek(53242)-1
1453 fort=0to50:next
1454 next:gosub710:pokes+1,3
1460 rem ifwl=18thenb=0:goto*sicherheitsabfrage*
1470 gosub710
1480 goto1020
1500 rem
1501 rem ******************************
1502 rem * sicherheitsabfrage *
1503 rem ******************************
1509 rem
1510 pokev+21,0:pokev+16,0:z=0
1520 print"[147]"tab(4)"sie gaben folgenden namen ein:"
1530 print"[158]"tab(20-(len(n$)/2))n$
1540 sysa,10,10," ja ":z=1
1550 j=peek(56320)
1551 if(jand1)=0then1540
1552 if(jand2)=0then1560
1553 if(jand16)=0andz=1then1650
1554 if(jand16)=0andz=0thenn$="":goto1630
1555 goto1550
1560 sysa,10,10,"nein":z=0
1561 goto1550
1600 rem
1601 rem ******************************
1602 rem * programm steuerung *
1608 rem ******************************
1609 rem
1610 ifpeek(1022)=255thenpoke1022,0:goto1710
1620 gosub110:rem lesen von disk
1630 gosub610:rem bild ein
1640 goto1010:rem namensabfragung
1650 gosub210:rem sortierung
1660 gosub310:rem schreiben auf disk
1670 gosub410:rem anzeigen
1680 goto 510:rem laden des spiels
1700 rem
1701 rem ******************************
1702 rem * high score loeschen + *
1703 rem * anzeigen *
1708 rem ******************************
1709 rem
1710 gosub 110:rem lesen von disk
1720 gosub 410:rem anzeigen
1730 gosub1810:rem abfrage loeschen
1740 gosub 310:rem schreiben auf disk
1750 gosub 410:rem anzeigen
1760 :
1770 :
1780 :
1790 goto 510:rem laden des spiel
1800 rem
1801 rem ******************************
1802 rem * abfragung ob loeschen *
1808 rem ******************************
1809 rem
1810 print" [150]soll der high-score geloescht werden?"
1811 print
1812 print" benutze den joystick !"
1813 print"[155] joy nach oben = ja"
1814 print" joy nach unten = nein"
1815 print" feuerknopf = weiter"
1820 sysa,10,10," ja ":z=1
1830 poke56320,127
1832 j=peek(56320)
1833 if(jand1)=0then1820
1834 if(jand2)=0then1840
1835 if(jand16)=0then1837
1836 goto1830
1837 ifz=0thenreturn
1838 ifz=1thengoto810
1839 goto1830
1840 sysa,10,10,"nein":z=0
1841 goto1830